/**
 * \file lib/system/task.h
 * \author Davide Gessa
 * \date 10-17-09
 */
#ifndef TASK_H
#define TASK_H

#include <libc/ctype.h>
#include "regs.h"


#define TERM_STD_SIZE	1024


/**
 * Struttura di un terminale
 */
typedef struct term_p
{
	char name[32];					///< Titolo del terminale
	char *data;						///< Area dati
	char *input;					///< Stream di input
	unsigned cursor_pos;			///< Posizione del cursore
	char color;						///< Colore corrente
	size_t size;					///< Dimensione area dati

	struct term_p *next;			///< Puntatore al prossimo terminale
} term_t;



typedef int32_t				 gid_t;
typedef int32_t				 uid_t;
typedef int32_t				 pid_t;


term_t *term_get();
void term_putch(char);
void term_set_color(char);
void term_set_title(char *);
void term_clear();


#endif
